The present invention relates to a data processing method and, more particularly, to a data processing method facilitating adaptive data compression.
Digital data is typically used in a format that optimizes usability but often requires data files that are at least twice as large as actually needed to represent the information. Data compression is a general term for a number of algorithms and computer programs that have been developed to convert data to a format optimized for compactness. In some instances, data compression can reduce the quantity of data necessary to represent information by orders of magnitude. Reducing the quantity of data processed and stored by a data processing system is important because data transmission and storage are significant elements in the processing time and cost of data processing systems. In some applications, such as digital video transmission, the quantity of uncompressed data is so great that practical systems would be cost and performance prohibitive without substantial data compression.
Data compression methods are generally classified as lossy or lossless. Lossless compression methods exploit statistical redundancy related to similarities, correlation, and predictability of data. When a lossless compression method is applied to a data file, the data after decompression will be identical to that of the original file. Data consistency is required for many types of data such as executable program code, word processing files, or tabulations of numbers. On the other hand, other types data files, including data for images and other acquired signals, can often be approximated when decompressed without an appreciable loss. For example, a digital imaging device may capture textural detail that is unobservable a human viewer when included in a video frame. If the changes made to these signals resemble a small amount of noise, the resulting distortion of the signal may go unnoticed or, at least, be tolerable. Lossy compression techniques exploit subjective redundancy in the data to identify and discard redundant and perceptually irrelevant information from the data file. Lossy compression typically compresses data more efficiently than lossless compression methods.
Many data compression schemes utilize several data compression techniques in a single composite process. For example, the MPEG-2 (ISO/IEC 13818) video compression standard utilizes a number of processes to compress the data within a single image (intraframe compression), between frames (interframe compression), and within the resulting data stream. Transform coding utilizing the discrete cosine transform (DCT) is used to analyze and model the frequency of the signal representing blocks of pixels in the image. Transform coding is followed by quantization in which the transform coefficients are “rounded off” discarding part of the information necessary to perfectly reconstruct the original block of pixels. Temporal redundancy in the sequence of video images is exploited by predictive interframe coding. The displacement of the image content between a reference frame and a predicted frame is estimated and quantified. The reference frame image is then displaced according to the estimate and the image content difference between the predicted frame and a motion compensated version of the reference frame or residual content is determined. The quantity of data necessary to describe a sequence of frames is substantially reduced by reconstructing the predicted frame from a motion compensated version of the reference frame and the residual. In addition, the data stream containing the compressed intraframe and interframe data is typically compressed with a lossless method such as Huffman coding and run length encoding where repeating data is replaced with shorter coded sequences.
While lossy techniques generally provide greater compression efficiency, the resulting data distortion can, at times, be objectionable. For example, the loss of information during the quantization of transform coefficients can produce several compression artifacts in the decompressed image. These artifacts include the visibility of blocks used in the transformation process and noise along sharp edges in decompressed images. In addition, many compression techniques are more efficient when compressing certain types of data. For example, DCT transform coding is best suited to natural images with relatively gradual transitions between areas of relatively consistent color. On the other hand, many images comprise a composite of elements including textual, graphical, and natural elements. To reduce objectionable compression artifacts and improve compression efficiency, images are often pre-processed and post-processed. To improve the efficiency of the compression process, the image may be examined before compression and a “guess” made about the nature of the visual element to which a pixel or group of pixels belongs so that the image may be separated into components of different types and an appropriate process selected for each type of component. After the image is decompressed, its pixels may be examined to identify and smooth the color transitions between adjacent pixels. While image pre-processing and post-processing is useful in increasing compression efficiency and repairing compression artifacts, it is computationally expensive, time consuming, and subject to errors.
What is desired, therefore, is a data processing method that facilitates adaptable and computationally efficient data compression utilizing efficient methods.